package com.xs.shiyan;

import java.util.Random;
import java.util.Scanner;

public class shiyan3 {
    //双色球
    public static void main(String[] args) {
        //生成一组7位数的号码
        int[] lcNumber=creatNumber();
        printArray(lcNumber);
        //调用一个方法让用户输入7个号码
        int[] userNumber=userNumber();
        //判断中奖情况
        judge(lcNumber,userNumber);

    }


    public static void judge(int[] userNumber,int[] creatNumber){
        int redHitNumbers=0;
        int blueHitNumbers=0;
        //判断红球中奖数
        for (int i = 0; i <userNumber.length-1 ; i++) {
            for (int j = 0; j <creatNumber.length; j++) {
                if(userNumber[i]==creatNumber[j]){
                    redHitNumbers ++ ;
                    break;
                }
            }
        }
        //判断蓝球
        blueHitNumbers=userNumber[userNumber.length-1]==creatNumber[creatNumber.length-1]? 1:0;
        System.out.println("中奖号码是：");
        printArray(creatNumber);
        System.out.println("你投注号码是：");
        printArray(userNumber);
        System.out.println("您命中了"+redHitNumbers+"个红球");
        System.out.println("您是否命中蓝球:  "+(blueHitNumbers==1?"是":"否"));

        //判断中奖情况
        if(blueHitNumbers==1 && redHitNumbers<3){
            System.out.println("恭喜你中小奖 奖金为5元");

        }else if (blueHitNumbers==1 && redHitNumbers==3
                || blueHitNumbers==0&&redHitNumbers==4){
            System.out.println("恭喜你中奖 奖金为10元");

        }else if (blueHitNumbers==1 && redHitNumbers==4
                || blueHitNumbers==0&&redHitNumbers==5) {
            System.out.println("恭喜你中奖 奖金为200元");

        }else if (blueHitNumbers==0 && redHitNumbers==6) {
            System.out.println("恭喜你中大奖 奖金为500万元");

        }else if (blueHitNumbers==1 && redHitNumbers==6) {
            System.out.println("恭喜你中超级大奖 奖金为1000万元");
        }else{
            System.out.println("感谢您为福利事业做出的贡献");
        }
    }



    public static void printArray(int[] arr){
        for (int i = 0; i <arr.length ; i++) {
            System.out.print(arr[i]+"\t");
        }
        System.out.println();
    }
    public static int[] userNumber(){
        //定义一个7位的数组
        int[] numbers=new int[7];
        //让用户输入前6个红球号码
        Scanner sc=new Scanner(System.in);
        for (int i = 0; i <numbers.length-1; i++) {
            System.out.println("请输入第"+(i+1)+"个号码(1~33之间  不要重复)：");
            int data=sc.nextInt();
            //把当前录入的数据存到数组中去
            numbers[i]=data;
        }
        //单独录入蓝球的号码
        System.out.println("输入一个1~16的蓝球号码：");
        numbers[6]=sc.nextInt();
        return numbers;
    }




    public static int[] creatNumber(){
        int[] numbers =new int[7];
        //遍历数组为每个位置生成对应的号码，（遍历前6个位置生成6个不重复的红球号码范围是1~33）
        Random r=new Random();
        for (int i = 0; i <numbers.length-1 ; i++) {
            while (true){
               int data=r.nextInt(33)+1;
               //当前号码是否之前出现过，出现过要重新随机一个，知道不重复才可以放到数组中
                //定义一个flag变量，默认认为data没有出现过
                boolean flag=true;
                for (int j = 0; j <i ; j++) {
                    if (numbers[j]==data){
                        //当前数据出现过
                        flag=false;
                        break;
                    }
                }
                if (flag){
                    //data数据没有出现过
                    numbers[i]=data;
                    break;
                }
            }
        }
        //为第7个号码生成一个1~16之间的数
        numbers[numbers.length-1]=r.nextInt(16)+1;
        return numbers;
    }
}
